package weatherdata;

import Control.GenerarDatos;

public class WeatherStation { 
    static GenerarDatos generarDatos = new GenerarDatos();
    static float temperatura = generarDatos.random(71);
    static float humedad = generarDatos.random(100);
    static float presion = generarDatos.random(10130);
                
	public static void main(String[] args) {
		WeatherData weatherData = new WeatherData();
		CurrentConditionsDisplay currentDisplay = new CurrentConditionsDisplay(weatherData);
		StatisticsDisplay statisticsDisplay = new StatisticsDisplay(weatherData);
                int tiempo = generarDatos.random(59);
                int tiempoAlarma = generarDatos.random(119);
                AlertData alerta = new AlertData();
//		ForecastDisplay forecastDisplay = new ForecastDisplay(weatherData);
                producciondatos(alerta, weatherData,tiempo);
               
               
	}
        
        private static void producciondatos(AlertData alerta,WeatherData weatherData,int tiempo){
            alerta.setAlerta(false);
             while(!(alerta.isAlerta())){
                   int c= generarDatos.random(6);
                   if (c==0) {
                        alerta.setAlerta(true);
                    }
                    generarDatosAleatorios();
                    weatherData.setMeasurements(temperatura, humedad, presion, tiempo);
                    System.out.println("");
                }
		
                new ForeCastDisplay().evaluaAlerta(alerta.isAlerta());
		System.out.println("DONE!");
              
                ///////////////////////////////////////
                int retardo= generarDatos.random(120000);
                System.out.println("el estado de alerta durara:       "+(retardo/1000)+"      segundos");
                try {
                        Thread.sleep(retardo);
                } catch (InterruptedException e) {
                }

               
                  producciondatos(alerta, weatherData,tiempo);
               
                
                ////////////////////////////////////////
                
                
                
                
                //retomar generar datos luego de salir
                // producciondatos(alerta, weatherData,tiempo);
        }
        private static void generarDatosAleatorios(){
            temperatura = generarDatos.random(71);
            humedad = generarDatos.random(100);
            presion = generarDatos.random(10130);
        }
}
